Team, Visitors, External Collaborators
Overall Objectives
Research Program
Application Domains
New Software and Platforms
New Results
Partnerships and Cooperations
Dissemination
Bibliography
XML PDF e-pub
PDF e-Pub


Section: New Software and Platforms

Coq-elpi

Keywords: Metaprogramming - Extension

Scientific Description: Coq-elpi provides a Coq plugin that embeds ELPI. It also provides a way to embed Coq's terms into lambdaProlog using the Higher-Order Abstract Syntax approach (HOAS) and a way to read terms back. In addition to that it exports to ELPI a set of Coq's primitives, e.g. printing a message, accessing the environment of theorems and data types, defining a new constant and so on. For convenience it also provides a quotation and anti-quotation for Coq's syntax in lambdaProlog. E.g. {{nat}} is expanded to the type name of natural numbers, or {{A -> B}} to the representation of a product by unfolding the -> notation. Finally it provides a way to define new vernacular commands and new tactics.

Functional Description: Coq plugin embedding ELPI

Release Functional Description: Minor relase for extra API for global reference data types

News Of The Year: Releases 1.0, 1.1, and 1.2 were made in 2019, they constitute the first public release with tutorials and examples.

Work done in 2019 is mostly in these areas:

- expose a complete set of API to script Coq's vernacular language

- take advantage or recent ELPI API and FFI to convert back and forth terms containing existential variables (Evars)